vue a标签下载图片变预览问题解决 您所在的位置:网站首页 独自一人 图片 vue a标签下载图片变预览问题解决

vue a标签下载图片变预览问题解决

2024-06-14 13:57| 来源: 网络整理| 查看: 265

获取到后端链接,a标签无法正常下载图片变成预览

只需要改变image.srclet image = new Image(); // 解决跨域 Canvas 污染问题 image.setAttribute("crossOrigin", "anonymous"); image.onload = function() { let canvas = document.createElement("canvas"); canvas.width = image.width; canvas.height = image.height; let context = canvas.getContext("2d"); context.drawImage(image, 0, 0, image.width, image.height); let url = canvas.toDataURL("image/png"); //得到图片的base64编码数据 let a = document.createElement("a"); // 生成一个a元素 let event = new MouseEvent("click"); // 创建一个单击事件 a.download = "qrcode.jpg"; // 设置图片名称 a.href = url; // 将生成的URL设置为a.href属性 a.dispatchEvent(event); // 触发a的单击事件 }; image.src = e.data.contractUrlArray[0]; // src = 链接地址

通过判断文件或图片改变下载方式if(file.indexOf('.doc') >= 0) { const a = document.createElement('a'); // 创建a标签 a.setAttribute('download', '');// download属性 a.setAttribute('href', e.data.contractUrlArray[0]);// href链接 a.click();// 自执行点击事件} else { let image = new Image(); // 解决跨域 Canvas 污染问题 image.setAttribute("crossOrigin", "anonymous"); image.onload = function() { let canvas = document.createElement("canvas"); canvas.width = image.width; canvas.height = image.height; let context = canvas.getContext("2d"); context.drawImage(image, 0, 0, image.width, image.height); let url = canvas.toDataURL("image/png"); //得到图片的base64编码数据 let a = document.createElement("a"); // 生成一个a元素 let event = new MouseEvent("click"); // 创建一个单击事件 a.download = "图片"; // 设置图片名称 a.href = url; // 将生成的URL设置为a.href属性 a.dispatchEvent(event); // 触发a的单击事件 }; image.src = e.data.contractUrlArray[0]; // src = 链接地址}



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有